home *** CD-ROM | disk | FTP | other *** search
- import Bladex
- import Scorer
- import Raster
- import BBLib
- import BUIx
- import Menu
-
- StayImage = 8
- FadeImage = 3.0
- StateImage = 0
-
- BitmapsNames = ["../../Data/creditos001.jpg","../../Data/creditos002.jpg","../../Data/creditos003.jpg","../../Data/creditos004.jpg","../../Data/creditos005.jpg","../../Data/creditos006.jpg","../../Data/creditos008.jpg","../../Data/creditos009.jpg","../../Data/creditos010.jpg"]
-
- class B_CreditsImageWidget(BUIx.B_RectWidget):
- def __init__(self,Parent,MenuDescr,StackMenu = 0):
- #BitmapsNames = 0,type = 1,r = 255,g = 255,b = 255):
-
- self.BitmapsNames = MenuDescr["ImageList"]
- self.ResX = Raster.GetSize()[0]
- self.ResY = Raster.GetSize()[1]
- self.BitmapsHandler = []
-
- self.StateImage = 0
- self.StayImage = 8
- self.FadeImage = 3
- self.image1 = 0
- self.image2 = 1
- self.Pages = 0
- self.Cache = 0
- self.Fade = 0
- #self.r = r
- #self.g = g
- #self.b = b
- self.StackMenu = StackMenu
-
- for i in BitmapsNames:
- if type == 0:
- self.BitmapsHandler.append(BBLib.B_BitMap24())
- self.BitmapsHandler[self.Pages].ReadFromFile(BitmapsNames[self.Pages])
-
- self.Pages = self.Pages + 1
-
- BUIx.B_RectWidget.__init__(self,Parent,MenuDescr["Name"],800,600)
-
- if type:
- self.SetDrawFunc(self.DrawFadeImage)
- Bladex.ReadBitMap(BitmapsNames[0],BitmapsNames[0])
- self.BitmapsHandler.append(Raster.BmpHandle(BitmapsNames[0]))
- else:
- self.SetDrawFunc(self.DrawFadeColor)
-
- self.StateImage = 1
- self.StartImageTime = 0
-
- self.Selected=0
- self.Solid=0
- self.Border=0
-
- def ActivateItem(self,act):
- if act==0:
- w=self.StackMenu.Top()
- try:
- w.FinalRelease()
- except:
- pass
- self.StackMenu.Pop()
-
- def __del__(self):
- print "__del__"
- pass
-
- def DrawFadeColor(self,x,y,time):
- if self.StartImageTime == 0:
- self.StartImageTime = time
-
- stime = time - self.StartImageTime
-
- Raster.SetPosition(x,y)
- Raster.DrawImage(800,600,"RGB","Stretch",self.BitmapsHandler[self.image1].GetData())
-
- if self.StateImage:
- if stime >= self.StayImage:
- self.StartImageTime = time
- self.StateImage = 0
- self.Fade = 0
- else:
- if self.Fade:
- alpha = 1.0 - (stime / (self.FadeImage * 0.5))
- else:
- alpha = stime / (self.FadeImage * 0.5)
-
- if alpha >= 1.0:
- alpha = 1.0
- self.StartImageTime = time
- self.Fade = 1
-
- self.image1 = self.image1 + 1
-
- if self.image1 >= self.Pages:
- self.image1 = 0
-
- if alpha <= 0:
- alpha = 0
- self.StartImageTime = time
- self.StateImage = 1
-
- Raster.SetFillColor(self.r, self.g, self.b)
- Raster.SetAlpha(alpha)
- Raster.SolidRectangle(x, y, self.ResX, self.ResY)
-
- self.DefDraw(x,y,time)
-
- def DrawFadeImage(self,x,y,time):
- if self.StartImageTime == 0:
- self.StartImageTime = time
-
- x = y = 0
-
- stime = time - self.StartImageTime
-
- if self.StateImage >= 1:
- if self.StateImage == 1:
- self.StateImage = 2
- elif self.StateImage == 2:
- Bladex.ReadBitMap(self.BitmapsNames[self.image2],self.BitmapsNames[self.image2])
- self.BitmapsHandler.append(Raster.BmpHandle(self.BitmapsNames[self.image2]))
- self.StateImage = 3
-
- Raster.SetPenColor(255,255,255)
- Raster.SetPosition(x,y)
- Raster.SetAlpha(1.0)
- Raster.DrawBitmap(self.BitmapsHandler[self.image1],self.ResX,self.ResY)
-
- if stime >= self.StayImage:
- self.StartImageTime = time
- self.StateImage = 0
-
- self.alpha = 0
- else:
- #self.alpha = stime / self.FadeImage
-
- #if self.alpha >= 1.0:
- # self.alpha = 1.0
- # self.StateImage = 1
- # self.StartImageTime = time
- self.StateImage = 1
-
- Raster.SetPenColor(255,255,255)
- Raster.SetPosition(x,y)
- #Raster.SetAlpha(1.0 - self.alpha)
- Raster.SetAlpha(1.0)
- Raster.DrawBitmap(self.BitmapsHandler[self.image1],self.ResX,self.ResY)
-
- #Raster.SetPenColor(255,255,255)
- #Raster.SetPosition(x,y)
- #Raster.SetAlpha(self.alpha)
- #Raster.DrawBitmap(self.BitmapsHandler[self.image2],self.ResX,self.ResY)
-
- if self.StateImage:
- self.image1 = self.image2
-
- self.image2 = self.image1 + 1
-
- if self.image2 >= self.Pages:
- #if self.image2 >= 2:
- self.image2 = 0
- self.Cache = 1
-
-
- def NoExitMenu(val):
- return 1
-
- def Show(type = 0,r = 255,g = 255,b = 255):
- Menu.ActivateMenu()
- Menu._MainMenu.MenuPrevItem()
- Menu._MainMenu.MenuPrevItem()
- Menu._MainMenu.ActivateMenuItem()
-
- Menu.EscapeFunction = NoExitMenu
-
-